package sunwul.mall.gateway.constant;

import java.util.ArrayList;
import java.util.List;

/**
 * @author sunwul
 * @date 2025/1/2 16:33
 * @description  服务分组枚举
 */
public enum ServiceGroupEnum {

    /**
     * 分组应当真实存在,不得添加不存在的分组,否则会出现无法调用的情况
     */
//    DEFAULT("DEFAULT"), // 默认分组
    BASE_GROUP("BASE_GROUP"), // 基础服务
    BUSINESS_GROUP("BUSINESS_GROUP") // 业务服务
    ;

    /**
     * 所有分组
     */
    public static List<String> getValue() {
        List<String> list = new ArrayList<>();
        for (ServiceGroupEnum value : ServiceGroupEnum.values()) {
            list.add(value.getGroup());
        }
        return list;
    }

    /**
     * 所有分组
     * @param exclude 需要排除的值
     */
    public static List<String> getValue(String exclude) {
        List<String> list = new ArrayList<>();
        for (ServiceGroupEnum value : ServiceGroupEnum.values()) {
            if (!value.getGroup().equals(exclude)) {
                list.add(value.getGroup());
            }
        }
        return list;
    }

    ServiceGroupEnum(String group) {
        this.group = group;
    }

    private String group;

    public String getGroup() {
        return group;
    }

    public void setGroup(String group) {
        this.group = group;
    }
}
